package com.huashi.dealer.modular.business.balance.param;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * API打款单请求参数
 *
 * @author 谭陈强
 * @since 2025-07-30
 */
@Data
@Schema(description = "API打款单请求参数")
public class BalanceRequestParam {

    @Schema(description = "用户令牌")
    private String token;

    @Schema(description = "小程序ID")
    private Long wxappId;

    @Schema(description = "申请ID")
    private Long applyId;

    @Schema(description = "金额")
    private BigDecimal money;

    @Schema(description = "提现金额")
    private BigDecimal withdrawMoney;

    @Schema(description = "充值金额")
    private BigDecimal rechargeMoney;

    @Schema(description = "银行名称")
    private String bankName;

    @Schema(description = "银行账号")
    private String bankAccount;

    @Schema(description = "开户名")
    private String accountName;

    @Schema(description = "申请状态：10待审核，20已通过，30已拒绝，40已取消")
    private Integer applyStatus;

    @Schema(description = "申请类型：10打款申请，20提现申请")
    private Integer applyType;

    @Schema(description = "申请描述")
    private String applyDesc;

    @Schema(description = "申请备注")
    private String applyRemark;

    @Schema(description = "审核状态：10待审核，20已通过，30已拒绝")
    private Integer auditStatus;

    @Schema(description = "审核备注")
    private String auditRemark;

    @Schema(description = "审核时间")
    private LocalDateTime auditTime;

    @Schema(description = "审核人ID")
    private Long auditorId;

    @Schema(description = "审核人姓名")
    private String auditorName;

    @Schema(description = "图片列表")
    private List<String> images;

    @Schema(description = "页码")
    private Integer page;

    @Schema(description = "每页数量")
    private Integer listRows;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
} 